import java.util.Scanner;

class ArrayUtils {
    /**
     * 返回数组中指定范围内的最大值
     *
     * @param arr   数组
     * @param begin 起始下标（包含）
     * @param end   结束下标（不包含）
     * @return 最大值
     * @throws IllegalArgumentException 如果参数不合法
     */
    public static double findMax(double[] arr, int begin, int end) throws IllegalArgumentException {
        // 检查 begin 和 end 的合法性
        if (begin >= end) {
            throw new IllegalArgumentException("begin:" + begin + " >= end:" + end);
        }
        if (begin < 0) {
            throw new IllegalArgumentException("begin:" + begin + " < 0");
        }
        if (end > arr.length) {
            throw new IllegalArgumentException("end:" + end + " > arr.length");
        }

        // 查找最大值
        double max = Double.NEGATIVE_INFINITY;
        for (int i = begin; i < end; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入数组大小 n
      
        int n = scanner.nextInt();

        // 创建大小为 n 的 double 数组
        double[] array = new double[n];

        // 输入 n 个整数，放入数组

        for (int i = 0; i < n; i++) {
            array[i] = scanner.nextDouble();
        }

        // 输入若干对 begin 和 end，调用 findMax 方法
      
        while (scanner.hasNextInt()) {
            int begin = scanner.nextInt();
            if (!scanner.hasNextInt()) {
                break; // 如果下一个输入不是整数，退出循环
            }
            int end = scanner.nextInt();

            try {
                double max = ArrayUtils.findMax(array, begin, end);
                System.out.println(max);
            } catch (IllegalArgumentException e) {
                System.out.println(e);
            }
        }

        // 打印标识信息
        try {
            System.out.println(ArrayUtils.class.getDeclaredMethod("findMax", double[].class, int.class, int.class));
        } catch (Exception e) {
            e.printStackTrace();
        }

        // 关闭 Scanner 对象
        scanner.close();
    }
}
